#ifndef __STRUCT_H__
#define __STRUCT_H__

//mo点表
struct m0_node
{
	int key;
	char name[128];
	int type;
};

//m0链表
struct m0_node_list
{
	struct m0_node node;
	struct list_head list;
};

//消息队列
struct msgbuf
{
	long mtype;
	char mdata[256];
};

//val数据类型
union val_t
{
	int b_val;
	int i_val;
	float f_val;
};

//采集数据
struct std_node
{
	int key;  //唯一键值
	int type;  //数据点类型
	int dev_type;  //属于哪个设备：m0或modbus
	union val_t old_val;  //变化上报后需要更新旧值
	union val_t new_val;  //从共享内存取出最新数据，放到new_val中
	int ret;  //默认为-1，采集成功后设置为0，采集失败再置-1
};
#endif
